home *** CD-ROM | disk | FTP | other *** search
- ;;; -*-Scheme-*-
-
- (define (sqrt x)
- (define (good-enough? guess)
- (< (abs (- (square guess) x)) 0.001))
- (define (improve guess)
- (average guess (/ x guess)))
- (define (sqrt-iter guess)
- (if (good-enough? guess)
- guess
- (sqrt-iter (improve guess))))
- (sqrt-iter 1))
-
- (define (square x) (* x x))
- (define (average x y) (/ (+ x y) 2))
- (define (abs x) (if (negative? x) (- x) x))
-
- (print (sqrt 2))
- (print (sqrt 4))
-